package com.eastjet.equipment.util;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.Arrays;
import java.util.List;

public class PageUtil {

    // 泛型方法，用于分页
    public static <T> Page<T> paginate(List<T> itemList, int page, int size) {
        // 总记录数
        int total = itemList.size();
        // 创建分页对象
        Page<T> pageRequest = new Page<>(page, size);

        // 计算起始和结束索引
        int start = (page - 1) * size;
        int end = Math.min(start + size, total);

        // 设置结果列表
        if (start < total) {
            pageRequest.setRecords(itemList.subList(start, end));
        } else {
            pageRequest.setRecords(Arrays.asList()); // 如果页码超出范围，返回空列表
        }

        // 设置总记录数
        pageRequest.setTotal(total);

        return pageRequest;
    }
}